When guest uses logical flat destionation mode for interrupt delivery,
vector doesn't change but destionation also can change, so should
enhance the check condition.
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
}
/* if pirq is already mapped as vmsi, update the guest data/addr */
- if ( hvm_irq_dpci->mirq[pirq].gmsi.gvec != pt_irq_bind->u.msi.gvec ) {
+ if ( hvm_irq_dpci->mirq[pirq].gmsi.gvec != pt_irq_bind->u.msi.gvec ||
+ hvm_irq_dpci->mirq[pirq].gmsi.gflags != pt_irq_bind->u.msi.gflags) {
hvm_irq_dpci->mirq[pirq].gmsi.old_gvec =
hvm_irq_dpci->mirq[pirq].gmsi.gvec;
hvm_irq_dpci->mirq[pirq].gmsi.old_gflags =